Laboratory Exercise: Using Git
In this course, we will use Github
as our version control and repository system.
  - If you have not already done so, read the general introduction
  to git found here, and watch the video
  demonstration. (Alas, some of the details have changed since
  this video demo was made, but the ideas are the same). 
 
  - If you have not already done so, go to github.ccs.neu.edu and log in
  with your CCS credentials.
 
  - If you have not already done so, download and install a github
	client.  We recommend Github Desktop for Mac and Windows. We will refer to this
	as GHD. If you are using
	Linux, use the git package that came with your Linux
	distribution.
  
 - Open GHD.  You'll need to do the following steps in order to
  configure GHD.  This part is slightly complicated, but you only
  have to do it once.
  
  
    - Select "Github Enterprise".
 
    
    - Enter your CCS login name (do not include "@ccs.neu.edu") and
    password, and enter "https://github.ccs.neu.edu" when it asks for
    the github server name. 
 
    
    - Go on to "configure git". This will display your CCS username
    and email.  Accept these settings.
 
    
    - It will next ask you about finding local repositories.  If you
    want GHD to manage all your existing repositories, you can do
    this.  Otherwise uncheck everything and skip this step.
 
    
    - It will then give you some advice about "The Github Flow",
    which involves making lots of temporary branches.  If you are
    familiar with github and know about this stuff, feel free to do
    what it says.  Otherwise ignore it:  your repositories will have a
    single branch, called "master".  For a solo or pair project, this
    is all you need.
 
    
    - Click on the "+" sign in the upper-left corner. Click on
    "create" to create a new local repository.  It will ask you where to
    create it; choose whatever location you like, or accept the one
    that is offered. NOTE: when we create
    repositories for you, these should appear in the list of
    repositories, and you'll click on "clone" to create a local
    copy.
 
    
    - Click on the little cloud in the upper right-hand corner that
    says "publish" to connect your local repo to the github
    server. 
 
    
    - GHD will say something like "No local changes; would you like
    to open this repository in Explorer?".  Click to open the repo.
    
 
    
  
  You've now created your first repository, and you're ready to
  go.
 
  - Add a text file to the repository, using the tool of your
  choice.
 
  - Now go back to GHD.  You should see a message that says "1
  change" and another that says "1 uncommitted change" You should see
  the blue message in the upper right-hand corner that says
  "uncommitted changes".  Click on the name of your new document to
  display the change.  You'll see some diffs. 
 
  - Write a commit message.  Informative commit messages are Good
  Things.  Click on the checkbox for "Commit to Master".
 
  - THIS NEXT PART IS VERY IMPORTANT! You see the little cloud in the upper right-hand
  corner that says "Sync".  Do it!  This uploads your changes to the server.
  
 
  - To see that your changes have been uploaded, click on "tools"
  again.  This time, select "view on github". 
 
  - A browser window should pop open with your repository.  You
  should see your new file there.
 
  - Now let's edit the file in the browser. Click on the file to
  view it, and then click on the little pencil to edit the file.  A
  text window should open.  Edit the file a little.  Scroll down and
  change the commit message if you like, then select "commit directly
  to the 'master' branch".  Then hit "commit changes."
 
  - Now let's download those changes into your local copy.  In GHD,
  if you are still looking at your repository, his "sync" to download
  the changes to your local copy of the repository.  Open your local
  copy to confirm that the changes have arrived.
 
  - Last, click on one of the little dots on the little thing that
  looks like a spaceship, just below the "sync" button. This will show
  the history display, where you can see the history of your commits.
  You can go back to the head of the spaceship to look at your current
  changes (right now there shouldn't be any).
 
  
 
Last modified: Sun Jan 10 2016